Create Corporate

The Create Corporate web serviceClosed XML- or JSON-based information exchange systems that use the Internet for direct application-to-application interaction. These systems can include programs, objects, messages, or documents. enables an external client system to create a Corporate within CMPClosed Converged Monetisation Platform. The MDS Global product that supports customer care and billing for digital service providers. and attach it to an existing CMP structure.

The userClosed A person with the capability to log in to the CMP GUI software, such as a customer service advisor or agent. must pass in values such as a valid CMP Company Number. Standard CMP rules associated with creating a Corporate govern which values are mandatory or optional for the request.

The user is able to specify if the Corporate should be linked to an existing CMP Group structure by passing in a valid owning Group code within the web service request.

The web service returns a response containing the newly created Corporate Code if the request is successful.

Submitting invalid data in the request will result in an error message.

CreateCorporate Request

The CreateCorporate tag instructs the Corporate Service to create a Corporate. This request contains the following elements:

Element Name

Content Type

Description

Required?

ExternalReference

String69

The client may use this identifier to correlate the request and the response.

Optional

CorporateData

Container

A Container for the low level Corporate information.

See CorporateData Request Container for details.

Mandatory

CorporateData Request Container

The CorporateData request container has the following elements:

Element Name

Content Type

Description

Required?

CorporateCode

String6

The code to use for the new Corporate.

Mandatory

CorporateDescription

String30

A full description of the Corporate.

Mandatory

Account

Container

A Container tag for the low level account information.

See Account Service > Create Account > Create AccountData Request for details.

Mandatory

GroupCode

String6

The ID allocated to the Group by the system to which the Corporate will be linked.

Optional

AccountData Request Container

The AccountData request container contains the following elements:

Element Name

Content Type

Description

Required?

CompanyNumber

String3

The valid company number to be assigned to the account. Value must already be set up in CMP.

Mandatory

Address

Container

Choice of:

Mandatory

PaymentType

String6

If not supplied, the value that is defaulted in comes from the Company Maintenance, Default Payment Type field.

A list of valid payment types is configured in CMP setup.

The payment type drives what the valid payment terms are. The list of payment types presented are governed by whether the redirect payment feature is being used. The default is to use this feature.

The PaymentType field determines the required payment details to be supplied. Each payment type is associated via setup with a payment method. Example payment methods are:

  • Direct Debit
  • Credit Card
  • Debit Card
  • Cheque

    A payment type with a payment method of Cheque is referred to as a manual payment. In this case payments are taken outside of CMP and can be recorded in CMP or external financials software at a later point. There is no extra payment information required to be supplied when setting up the account for manual payments.

    A payment type has a payment method of Direct Debit is referred to as an automated payment mechanism whereby CMP will pull payments via direct debit from a users bank account. The bank account information must be supplied to CMP in this scenario. The following fields are then required:

  • BankAccountNumber
  • BankSortCode
  • BankName

Optional

PaymentTerm

String3

If not supplied, the value that is defaulted in comes from the Account Default Parms Maint. The field is ADVPaymentTermsAR.

If there is a default payment term specified in the default payment terms for the payment type that is used instead.

The payment terms that are valid depend on the PaymentType and CompanyNumber that were provided.

Optional

AccountType

String3

Account Types indicate the type of Account to which Subscriptions belong, for example, 001 = VIP, 002 = Bad Debt. This is a classification of the Account.

If not supplied, the value that is defaulted in comes from the Account Default Parms Maint. The field is ADVSalesPersonCode.

Value must be a valid Account Type.

Optional

SubLedgerCode

String6

This references an extra level of detail in the General Ledger and links to the external financials software. The main use of this code is to enable direct debits to be claimed from the bank account.

If not supplied, the value that is defaulted in comes from the Subledger field in Account Default Parms Maint.

Value must be a valid Sub Ledger Code.

Optional

CreditLimit

Integer9

Relates to a set limit for invoiced but unpaid charges. It can also be used in conjunction with usage limits which applies to unbilled units. Exceeding the limit can trigger an automated procedure. When unpaid charges reach a set amount a recovery procedure commences.

Optional

HardwareCreditLimit

Integer9

This is the maximum amount of an order that is permitted.It is only used if the Hardware Credit Limit toolbox feature is switched on.

Optional

AccountPassword

String20

Password as specified by the user / customer.

Optional

AccountPin

Integer4

A randomly generated number will be supplied.

Optional

AccountUsage

String - Enumeration

This indicator controls what the Account can be used for.

If no value is supplied then this defaults to SubscriptionAndSales/Both.

Valid values are Subscription, SubscriptionAndSales and Sales. These appear in AgentView as

  • Subscription = Subscription
  • SubscriptionAndSales = Both
  • Sales = Sales Order

    Subscriptions cannot be added to an account when usage is Sales (usually referred to as a Hardware account).

    It is possible to add Subscriptions to a Subscription or to a SubscriptionAndSales (Both).

Optional

BankAccountNumber

String20

Only applicable if SEPA* is switched off .

This optional field becomes mandatory and valid ONLY if the payment method associated with the Payment Type is Direct Debit.

Setup can configure the valid lengths of the bank account number.

Optional

BankSortCode

String20

Only applicable if SEPA* is switched off.

This optional field becomes mandatory and valid ONLY when the payment type has a payment method of Direct Debit.

Optional

BankName

String30

Only applicable if SEPA* is switched off.

If this is supplied it is stored as supplied and not validated. If it is not supplied then the sort code is used to retrieve the bank name from the CMP bank header table.

For SEPA*, the request will be rejected if the Bank Name is included in the request. It will always retrieve the bank name from the CMP bank header table using the BIC.

Optional

ControlDigit

String2

Usually only supplied when the Payment Type has a payment method of Direct Debit.

Optional

NameOfPayer

String30

This becomes mandatory when the Payment Type has a payment method of Direct Debit.

Use the following format for this field:
"First name space last name"

Optional

DateMandateReceived

Date

This is the date that the DD mandate was received. For electronic forms of DD Mandate this should be set to the current date. For paper mandates, it’s the date that the mandate was received by the relevant back office individual.

YYYY-MM-DDZ

Usually only supplied when the Payment Type has a payment method of Direct Debit.

Optional

DDSetupMethodCode

String6

Usually only supplied when the Payment Type has a payment method of Direct Debit.

Optional

CCDCCardNumber

String20

The actual number of the credit or debit card.

If the payment method associated with the Payment Type specified is Credit Card, then the Bank Account Number must be supplied.
Rejected if PCI Compliance Toolbox feature is switched on.

Optional

NameOnCard

String20

Provides details of who is making the payment.

Mandatory if the payment method associated with the Payment Type specified is Direct Debit.

Rejected if PCI Compliance Toolbox feature is switched on.

Optional

FriendlyName

String70

Only applicable if the Payment Type has a payment method of Credit Card.
Rejected if PCI Compliance Toolbox feature is switched on.

Optional

StartYear

Integer2

Indicates the year in a 2 digit numeric form. E.g. 07 for 2007.

Only applicable if the Payment Type has a payment method of Credit Card.

Rejected if PCI Compliance Toolbox feature is switched on.

Optional

StartMonth

String6

Indicates the month in numeric form must be one of: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.

Only applicable if the Payment Type has a payment method of Credit Card.

Rejected if PCI Compliance Toolbox feature is switched on.

Optional

ExpiryYear

Integer2

Indicates the year in a 2 digit numeric form. E.g. 07 for 2007.

Only applicable if the Payment Type has a payment method of Credit Card.

Rejected if PCI Compliance Toolbox feature is switched on.

Optional

ExpiryMonth

Integer 2

Indicates the month in numeric form must be one of: 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 11, 12.

Optional

CreditSecurityCode

String6

The card security code used. On many card types it is the last group of digits on the signature panel.

Only applicable if the Payment Type has a payment method of Credit Card.

Rejected if PCI Compliance Toolbox feature is switched on

Optional

CorporateCode

String6

The Corporate to which the Account will be added.

If not specified, the account will not be associated with any corporate.

If required an Account can be standalone or it can form part of a larger corporate structure.

Optional

EmailAddress

String

This adds an e mail address with the default email address type. The default e mail address type is defined in setup.

Optional

AccountSerialNumbers

Container

A container for one or more Account Serial Numbers.

It is possible to configure up to 999 different serial numbers via setup.

See Create AccountSerialNumber Request Container for details.

Optional

PaymentCardToken

Container

See PaymentCardToken Request Container for details.

Optional

IBAN

String34

International Bank Account Number

Only applicable and mandatory if SEPA* is switched on.

Mandatory for SEPA only

BIC

String11

Bank Identifier Code

Only applicable and mandatory if SEPA* is switched on.

Mandatory for SEPA only

MandateReference

String35

Only applicable and mandatory if SEPA* is switched on.

Mandatory for SEPA only

MandateSignatureDate

Date

Only applicable if SEPA* is switched on.

Optional

 

*SEPA is turned on via setting the System Property parameter groupClosed In the Customer Manager Platform hierarchy, the highest level of the structure. The group level can be used to group corporates. Groups can hold financial information. DIRECT.DEBIT.PAYMENT.SCHEME to have a value of SEPA. The default is to use BACSClosed Bankers Automated Clearing Services. A system in the United Kingdom for making payments directly from one bank account into another..

Address Request Container

The Address request container instructs the Address Service to update an AccountClosed In the Cloud Monetisation Platform, a billing entity that can be used to manage payments on one or more subscriptions or payments for services. An account can hold details such as payments or invoices. with an address. This request contains the following elements:

Element Name

Content Type

Description

Required?

AddressData

Container - Choice

Choice of:

  • PersonalAddress
  • BusinessAddress

Mandatory

Personal Address Errors

For Personal Addresses, if multiple mandatory fields are not supplied the following error (the details depend on the fields not supplied) is returned:

<Error>
<MessageId>MISSING_ADDRESS_FIELD</MessageId>
<MessageText>Please complete the Title,Middle Name,Surname,Address Line 1,Address Line 2,Address Line 3,
Address Line 4,Address Line 5,Postcode,Daytime Telephone,Evening Telephone,Fax Number,
Address Type,Address Category,Occupation,Id Number,Date Of Birth,Date Of Residence,
Gender field(s)</MessageText>
<ExtraInfo>Title,Middle Name,Surname,Address Line 1,Address Line 2,Address Line 3,
Address Line 4,Address Line 5,Postcode,Daytime Telephone,Evening Telephone,Fax Number,
Address Type,Address Category,Occupation,Id Number,Date Of Birth,Date Of Residence,
Gender</ExtraInfo>
</Error>
Business Address Errors

For Business Addresses, if multiple mandatory fields are not supplied the following error (the details of course depends on the fields not supplied, the complete list is shown here) is returned:

<Error>
<MessageId>MISSING_ADDRESS_FIELD</MessageId>
<MessageText>Please complete the Title,Forename,MiddleName,Surname,Address Line 1,Address Line 2,
Address Line 3,Address Line 4,Address Line 5,Postcode,Company Telephone,Contact Telephone,
Fax Number,Address Type,Address Category,Date Of Incorporation,Date Of Residence,Job Title,
Company Name,Company Registration,Industrial Classification field(s)</MessageText>
<ExtraInfo>Title,Forename,MiddleName,Surname,Address Line 1,Address Line 2,
Address Line 3,Address Line 4,Address Line 5,Postcode,Company Telephone,Contact Telephone,
Fax Number,Address Type,Address Category,Date Of Incorporation,Date Of Residence,Job Title,
Company Name,Company Registration,Industrial Classification </ExtraInfo
</Error>
PersonalAdressRequest Container

The PersonalAddress request container has the following elements:

Element Name

Content Type

Description

Required?

Title

String10

The customer's appropriate title for example Mr, Mrs, Miss, Ms or Dr.

This field is always mandatory but can be made optional via configuration if required.

Mandatory

Forename

String50

Customer's first name.

Optional

MiddleName

String20

Customer's middle name.

Optional

Surname

String50

Customer's surname.

Mandatory

Address1

String60

Line one of the customer's address.

Mandatory

Address2

String60

Line one of the customer's address.

Optional

Address3

String60

Line one of the customer's address.

Optional

Address4

String60

Line one of the customer's address.

Optional

Address5

String60

Line one of the customer's address.

Optional

Postcode

String10

Customer's post code. Must be entered without spaces.

Optional

DateOfBirth

Date

Customer's date of birth, in the format YYYY-MM-DD.

Optional

Gender

String

Choice of: Male, Female, Unknown or BLANK.

Optional

MaritalStatus

String

Choice of: Married, Single, Widowed, Divorced, Other, Separated or BLANK.

Optional

DateOfResidence

Date

The date from which the customer has lived at the address specified, in the format YYYY-MM-DD.

Optional

CustomerType

String10

Selected from one of the available Customer Types configured in CMP.

Optional

AddressType

String10

Identifies if the customer is a home owner, renting, living with parents, council tenant etc. Configurable CMP list.

Optional

AddressCategory

String10

Indicates property value. A category range relating to the address. Configurable CMP list.

Optional

Occupation

String10

The customer's current occupation. Configurable CMP list.

Optional

IDType

String10

The available type of ID used as proof of identity for example passport or driving license. Configurable CMP list.

Optional

IDNumber

String30

The unique ID from the proof of identity.

Optional

TelephoneNumber

String15

Customer's main contact telephone number.

Optional

EveningTelephoneNumber

String15

Customer's additional telephone number they can be reached on.

Optional

FaxNumber

String15

Customer's fax number.

Optional

 

CMP configuration controls which elements are mandatory and optional. Standard validation settings can be changed via CMP back office setup: DISESETUP > 5. Subscriber Registration Set up > 15. Delivery Address Set Up > 8. Field Validation Maintenance. Enter 'P' for Personal Address.

BusinessAddress Request Container

The BusinessAddress request container has the following elements:

Element Name

Content Type

Description

Required?

CompanyName

String60

Name of company.

Mandatory

Address1

String40

Line one of the company's address.

Mandatory

Address2

String40

Line two of the company's address.

Optional

Address3

String40

Line three of the company's address.

Optional

Address4

String40

Line four of the company's address.

Optional

Address5

String40

Line five of the company's address.

Optional

Postcode

String10

Company's postcode. Must be entered without spaces.

Optional

CompanyTelephoneNumber

String15

Company's main contact telephone number.

Optional

ContactTelephoneNumber

String15

The individual's contact telephone number.

Optional

FaxNumber

String15

Company's fax number

Optional

CompanyType

String10

Indicates the type of company. Configurable CMP list.

Optional

AddressType

String10

Identifies the company's address. Configurable CMP list.

Optional

AddressCategory

String10

Indicates property value. A category range relating to the address can be configured. Configurable CMP list.

Optional

IndustrialClassificationCode

String10

Indicates the industry the company resides. Configurable CMP list.

Optional

CompanyRegistration

String25

Unique ID the company is registered to.

Optional

DateOfIncorporation

Date

The date the company register at the address specified in the format YYYY-MM-DD.

Optional

Title

String10

Company's contact title.

Optional

Forename

String15

Company's contact first name.

Optional

MiddleName

String10

Company's contact middle name.

Optional

Surname

String25

Company's contact surname name.

Optional

JobTitle

String30

Company's contact job title.

Optional

 

CMP configuration controls which elements are mandatory and optional. Standard validation settings can be changed via CMP back office setup: DISESETUP > 5. Subscriber Registration Set up > 15. Delivery Address Set Up > 8. Field Validation Maintenance. Enter 'C' for Company Address.

 

PaymentCardToken Request Container

The PaymentCardToken request container contains the following elements:

Element Name

Content Type

Description

Required?

CardReference

VARCHAR(100)

The tokenised string representing the card.

Mandatory

CardNumber

String4

The last four digits of card number.

Optional

NameOnCard

String20

The name of the cardholder exactly as displayed on the card.

Optional

StartYear

String2

The year from which the card becomes valid, as shown on the card.

Optional

StartMonth

String2

The month from which the card becomes valid, as shown on the card.

Optional

ExpiryYear

String2

The year that the card expires, as shown on the card.

Mandatory

ExpiryMonth

String2

The month that the card expires, as shown on the card.

Mandatory

AccountSerialNumbers Request Container

The AccountSerialNumber request container contains the following elements:

Element Name

Content Type

Description

Required?

SerialNumberId

Range 1-999

The Managed Serial Number identification number. Must be a valid ID number in CMP configuration.

Mandatory

SerialNumberValue

String25

The actual network serial number value, for example mobile phone number.

The default value that can be set up only applies to AgentView.

Each serial number field can be configured via set up with the applicable allowed values, field type, and min and max allowable values.

Mandatory

Sample CreateCorporate Request
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:def="http://mdsuk.com/ws/dise3g/corporate/definition">
<soapenv:Header/>
<soapenv:Body>
<def:CreateCorporate>
<def:Request>
<!--Optional:-->
<ExternalReference>ABC123</ExternalReference>
<CorporateData>
<CorporateCode>NEWCORP</CorporateCode>
<CorporateDescription>?</CorporateDescription>
<Account>
<!--You may enter the following 34 items in any order-->
<CompanyNumber>123456</CompanyNumber>
<Address>
<!--You have a CHOICE of the next 2 items at this level-->
<PersonalAddress>
<!--You may enter the following 23 items in any order-->
<Title>Ms</Title>
<!--Optional:-->
<Forename>?</Forename>
<!--Optional:-->
<MiddleName>?</MiddleName>
<Surname>Jones</Surname>
<Address1>23 The Road</Address1>
<!--Optional:-->
<Address2>?</Address2>
<!--Optional:-->
<Address3>?</Address3>
<!--Optional:-->
<Address4>?</Address4>
<!--Optional:-->
<Address5>?</Address5>
<!--Optional:-->
<Postcode>?</Postcode>
<!--Optional:-->
<DateOfBirth>?</DateOfBirth>
<!--Optional:-->
<Gender>?</Gender>
<!--Optional:-->
<MaritalStatus>?</MaritalStatus>
<!--Optional:-->
<DateOfResidence>?</DateOfResidence>
<!--Optional:-->
<CustomerType>?</CustomerType>
<!--Optional:-->
<AddressType>?</AddressType>
<!--Optional:-->
<AddressCategory>?</AddressCategory>
<!--Optional:-->
<Occupation>?</Occupation>
<!--Optional:-->
<IDType>?</IDType>
<!--Optional:-->
<IDNumber>?</IDNumber>
<!--Optional:-->
<TelephoneNumber>?</TelephoneNumber>
<!--Optional:-->
<EveningTelephoneNumber>?</EveningTelephoneNumber>
<!--Optional:-->
<FaxNumber>?</FaxNumber>
</PersonalAddress>
<BusinessAddress>
<!--You may enter the following 21 items in any order-->
<CompanyName>?</CompanyName>
<Address1>?</Address1>
<!--Optional:-->
<Address2>?</Address2>
<!--Optional:-->
<Address3>?</Address3>
<!--Optional:-->
<Address4>?</Address4>
<!--Optional:-->
<Address5>?</Address5>
<!--Optional:-->
<Postcode>?</Postcode>
<!--Optional:-->
<CompanyTelephoneNumber>?</CompanyTelephoneNumber>
<!--Optional:-->
<FaxNumber>?</FaxNumber>
<!--Optional:-->
<ContactTelephoneNumber>?</ContactTelephoneNumber>
<!--Optional:-->
<CompanyType>?</CompanyType>
<!--Optional:-->
<AddressType>?</AddressType>
<!--Optional:-->
<AddressCategory>?</AddressCategory>
<!--Optional:-->
<IndustrialClassificationCode>?</IndustrialClassificationCode>
<!--Optional:-->
<CompanyRegistration>?</CompanyRegistration>
<!--Optional:-->
<DateOfIncorporation>?</DateOfIncorporation>
<!--Optional:-->
<Title>?</Title>
<!--Optional:-->
<Forename>?</Forename>
<!--Optional:-->
<MiddleName>?</MiddleName>
<!--Optional:-->
<Surname>?</Surname>
<!--Optional:-->
<JobTitle>?</JobTitle>
</BusinessAddress>
</Address>
<!--Optional:-->
<PaymentType>?</PaymentType>
<!--Optional:-->
<PaymentTerm>?</PaymentTerm>
<!--Optional:-->
<AccountType>?</AccountType>
<!--Optional:-->
<SubLedgerCode>?</SubLedgerCode>
<!--Optional:-->
<CreditLimit>?</CreditLimit>
<!--Optional:-->
<HardwareCreditLimit>?</HardwareCreditLimit>
<!--Optional:-->
<AccountPassword>?</AccountPassword>
<!--Optional:-->
<AccountPIN>?</AccountPIN>
<!--Optional:-->
<AccountUsage>SubscriptionAndSales</AccountUsage>
<!--Optional:-->
<BankAccountNumber>?</BankAccountNumber>
<!--Optional:-->
<BankSortCode>?</BankSortCode>
<!--Optional:-->
<BankName>?</BankName>
<!--Optional:-->
<ControlDigit>?</ControlDigit>
<!--Optional:-->
<NameOfPayer>?</NameOfPayer>
<!--Optional:-->
<DateMandateReceived>?</DateMandateReceived>
<!--Optional:-->
<DDSetupMethodCode>?</DDSetupMethodCode>
<!--Optional:-->
<IBAN>?</IBAN>
<!--Optional:-->
<BIC>?</BIC>
<!--Optional:-->
<MandateReference>?</MandateReference>
<!--Optional:-->
<MandateSignatureDate>?</MandateSignatureDate>
<!--Optional:-->
<PaymentCardToken>
<CardReference>?</CardReference>
<!--Optional:-->
<CardNumber>?</CardNumber>
<!--Optional:-->
<NameOnCard>?</NameOnCard>
<!--Optional:-->
<StartYear>?</StartYear>
<!--Optional:-->
<StartMonth>?</StartMonth>
<!--Optional:-->
<ExpiryYear>?</ExpiryYear>
<!--Optional:-->
<ExpiryMonth>?</ExpiryMonth>
</PaymentCardToken>
<!--Optional:-->
<CCDCCardNumber>?</CCDCCardNumber>
<!--Optional:-->
<NameOnCard>?</NameOnCard>
<!--Optional:-->
<FriendlyName>?</FriendlyName>
<!--Optional:-->
<StartYear>?</StartYear>
<!--Optional:-->
<StartMonth>?</StartMonth>
<!--Optional:-->
<ExpiryYear>?</ExpiryYear>
<!--Optional:-->
<ExpiryMonth>?</ExpiryMonth>
<!--Optional:-->
<CreditSecurityCode>?</CreditSecurityCode>
<!--Optional:-->
<CorporateCode>?</CorporateCode>
<!--Optional:-->
<EmailAddress>?</EmailAddress>
<!--Optional:-->
<AccountSerialNumbers>
<!--1 to 999 repetitions:-->
<AccountSerialNumber>
<SerialNumberId>?</SerialNumberId>
<SerialNumberValue>?</SerialNumberValue>
</AccountSerialNumber>
</AccountSerialNumbers>
</Account>
<!--Optional:-->
<GroupCode>?</GroupCode>
</CorporateData>
</def:Request>
</def:CreateCorporate>
</soapenv:Body>
</soapenv:Envelope>

CreateCorporate Response

CreateCorporate response is the response to the CreateCorporate Request. This contains the following elements:

Element Name

Content Type

Description

Required?

ExternalReference

String69

 

Returned unmodified in the response. The client may use this identifier to correlate the request and the response.

Optional

CorporateCode

String6

The Corporate code to which the Account will be added. If not specified, the Account will not be associated with any Corporate.

Mandatory